package com.springboot_gradrecruit.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot_gradrecruit.common.PageResponse;
import com.springboot_gradrecruit.common.R;
import com.springboot_gradrecruit.model.dto.UserLoginRequest;
import com.springboot_gradrecruit.model.dto.UserLogoutRequest;
import com.springboot_gradrecruit.model.dto.UserRegisterRequest;
import com.springboot_gradrecruit.model.dto.admin.PageUserRequest;
import com.springboot_gradrecruit.model.dto.admin.UserRequest;
import com.springboot_gradrecruit.model.entity.User;
import com.springboot_gradrecruit.model.vo.UserVO;
import jakarta.servlet.http.HttpServletRequest;

/**
* @author zr
* @description 针对表【user】的数据库操作Service
* @createDate 2024-10-26 15:27:32
*/
public interface UserService extends IService<User> {

    UserVO register(UserRegisterRequest userRegisterRequest);

    UserVO login(UserLoginRequest userLoginRequest, HttpServletRequest request);

    // 用户登出
    void userLogout(HttpServletRequest request, UserLogoutRequest userLogoutRequest);

    PageResponse<UserVO> pageUser(PageUserRequest pageUserRequest);

    boolean updateUserById(UserRequest userRequest);

    R<String> userUploadAvatar(Long userId,String imageUrl);

    void resetPassword(Long userId, String password);
}
